package com.demodis.action;

import com.demodis.domain.Json;
import com.demodis.domain.TblPermission;
import com.demodis.service.PermissionServiceI;
import com.demodis.service.RoleServiceI;
import com.demodis.service.impl.PermissionServiceImpl;
import com.demodis.service.impl.RoleServiceImpl;
import com.opensymphony.xwork2.ModelDriven;

public class PermissionAction extends BaseAction implements ModelDriven<TblPermission> {

	private static final long serialVersionUID = 1544236974391494458L;

	PermissionServiceI permService = new PermissionServiceImpl();
	RoleServiceI roleService = new RoleServiceImpl();
	
	TblPermission perm = new TblPermission();
	
	public void query() {
		super.writeJson(permService.getPermissions());
	}
	
	public void queryRole() {
		super.writeJson(roleService.getRoles());
	}
	
	/*public void getRoleComboBoxData() {
		super.writeJson(permService.getRoleComboBoxData());
	}*/
	
	public void distribute() {
		Json json = new Json();
		if (permService.distribute(perm)) {
			json.setSuccess(true);
			json.setMsg("角色分配成功!");
		} else {
			json.setSuccess(false);
			json.setMsg("角色分配失败!");
		}

		super.writeJson(json);
	}

	public void add() {
		Json json = new Json();
		if (permService.save(perm)) {
			json.setSuccess(true);
			json.setMsg("添加成功!");
		} else {
			json.setSuccess(false);
			json.setMsg("添加失败!");
		}

		super.writeJson(json);
	}

	public void modify() {
		Json json = new Json();
		if (permService.modify(perm)) {
			json.setSuccess(true);
			json.setMsg("修改成功!");
			json.setObject(perm);
		} else {
			json.setSuccess(false);
			json.setMsg("修改失败!");
		}

		super.writeJson(json);
	}

	public void delete() {
		Json json = new Json();
		if (permService.delete(perm)) {
			json.setSuccess(true);
			json.setMsg("删除成功!");
		} else {
			json.setSuccess(false);
			json.setMsg("删除失败!");
		}

		super.writeJson(json);
	}
	
	@Override
	public TblPermission getModel() {
		return perm;
	}

}
